home *** CD-ROM | disk | FTP | other *** search
- # CVS $Id: Browse.tcl,v 1.4 1995/02/07 16:59:07 zibi Exp $
- #
- # "Browse.tcl"
- #
- # Browse the new wstcl source using the new wserver
- #
- # John Elliott IV <iv@sco.COM>
- #
- # @(#) Browse.tcl 11.7 95/01/31
-
- proc quitCB { cbs } {
- VtQuitServer
- exit
- }
-
- proc exitCB { cbs } {
- VtClose
- exit
- }
-
- set filename ""
- proc listCB { cbs } {
- global filename text tlabel executeB list
-
- set dlog [keylget cbs dialog]
- set newFilename [keylget cbs "selectedItemList"]
-
- if {$newFilename == ""} {
- set filename $newFilename
- VtSetValues $tlabel -label "Source"
- VtSetValues $text -value {}
- VtSetSensitive $executeB 0
- return
- }
-
- if {[catch {open $newFilename "r"} fp] != 0} {
- VtShow\
- [VtErrorDialog [keylget cbs "widget"].errorBox\
- -ok -title "Can't open file"\
- -message "Can't open \"$newFilename\", error was:\n$fp"]
- VtListSelectItem $list -item $filename
- return
- }
-
- set filename $newFilename
- VtSetValues $tlabel -label "Source for \"$filename\""
-
- set textList [read $fp]
- close $fp
-
- VtSetValues $text -value $textList
-
- VtSetSensitive $executeB 1
- }
-
- proc execCB { cbs } {
- global filename
-
- if {[catch {exec vtcl $filename &} errorMsg] != 0} {
- VtShow\
- [VtErrorDialog [keylget cbs "widget"].errorBox\
- -ok -title "Can't Execute"\
- -message "Can't execute \"$filename\", error was:\n$errorMsg"]
- }
-
- }
-
- global tlabel
-
- set ap [VtOpen "browse"]
-
- set form [VtFormDialog $ap.Top\
- -title "WS Browser"\
- -applyLabel "Execute..." \
- -applyCallback execCB \
- -okLabel "Close" \
- -okCallback exitCB \
- -cancelLabel "Quit Server"\
- -cancelCallback quitCB ]
-
- # make the execute button insensitive
- set executeB [VtGetValues $form -apply]
- VtSetSensitive $executeB 0
-
- set llabel [VtLabel $form.llabel\
- -topSide FORM\
- -leftSide FORM\
- -label "WS Scripts" ]
-
- set files [lsort [glob *.tcl]]
-
- set list [VtList $form.list\
- -selection SINGLE\
- -MOTIF_topOffset 2\
- -bottomSide FORM\
- -rows 10\
- -itemList $files\
- -defaultCallback execCB \
- -callback listCB ]
-
- set tlabel [VtLabel $form.tlabel\
- -topSide FORM\
- -leftSide $list\
- -rightSide FORM \
- -label "Source" ]
-
- set text [VtText $form.text\
- -leftSide $list\
- -rightSide FORM\
- -bottomSide FORM\
- -topSide $tlabel\
- -CHARM_borderWidth 1\
- -rows 15\
- -columns 40\
- -horizontalScrollBar TRUE\
- -verticalScrollBar TRUE\
- -readOnly ]
-
-
- VtShow $form
-
- VtMainLoop
-